Digital video capabilities can be incorporated into a wide range of devices, including digital televisions, digital direct broadcast systems, wireless communication devices, personal digital assistants (PDAs), laptop computers, desktop computers, digital cameras, digital recording devices, cellular or satellite radio telephones, and the like. Digital video devices can provide significant improvements over conventional analog video systems in creating, modifying, transmitting, storing, recording and playing full motion video sequences.
A number of different video coding standards have been established for coding digital video sequences. The Moving Picture Experts Group (MPEG), for example, has developed a number of standards including MPEG-1, MPEG-2 and MPEG-4. Other standards include the International Telecommunication Union (ITU) H.263 standard, QuickTime™ technology developed by Apple Computer of Cupertino Calif., Video for Windows™ developed by Microsoft Corporation of Redmond, Washington, Indeo™ developed by Intel Corporation, RealVideo™ from RealNetworks, Inc. of Seattle, Wash., and Cinepak™ developed by SuperMac, Inc. Furthermore, new standards continue to emerge and evolve, including the ITU H.264 standard and a number of proprietary standards.
Many video coding standards allow for improved transmission rates of video sequences by coding data in a compressed fashion. Compression can reduce the overall amount of data that needs to be transmitted for effective transmission of video frames. Most video coding standards, for example, utilize graphics and video compression techniques designed to facilitate video and image transmission over a narrower bandwidth than can be achieved without the compression. The MPEG standards and the ITU H.263 and ITU H.264 standards, for example, support video coding techniques that utilize similarities between successive video frames, referred to as temporal or inter-frame correlation, to provide inter-frame compression. Such inter-frame compression is typically achieved via motion estimation and motion compensation coding techniques. In addition, some video coding techniques may utilize similarities within frames, referred to as spatial or intra-frame correlation, to compress the video frames.
A number of rate control techniques have been developed for video coding. Rate control techniques are particularly important in order to facilitate real-time transmission of video sequences, but may also be used in non-real-time coding settings. For rate control, the coding techniques may dynamically adjust the number of bits that are coded per frame. In particular, rate control can restrict the number of bits that are coded per frame in order to ensure that the video sequence can be effectively coded at a given rate and therefore, transmitted over an allocated bandwidth. If the coding techniques are not responsive to scene changes of a video sequence, the bit rate for real-time transmission of the video sequence can vary significantly as the scenes change. Also, for some applications (such as wireless video telephony) bandwidth availability may change while a video sequence is being coded. For these or other reasons, rate control techniques can be used to dynamically adjust the number of bits used per frame during the coding.